package cn.wolfcode.service;

import cn.wolfcode.domain.SeckillProduct;
import cn.wolfcode.domain.SeckillProductVo;

import java.util.List;


public interface ISeckillProductService {

    List<SeckillProductVo> querySeckProductVOs(Long time);

    List<SeckillProductVo> querySeckProductVOsFromRedis(Long time);
    //查询商品详情：根据time和seckillid从数据库查询相关数据，并封装为vo对象
    SeckillProductVo getSeckillProductVO(Long time, Long seckillId);
    //秒杀之下单功能
    String doSeckill(Long seckillId, Long time, Long phone);

    SeckillProduct querySeckillProductBytimeAndseckillId(Long time, Long seckillId);
    //查询所有秒杀商品
    List<SeckillProduct> querySeckProducts();
    //回补此秒杀商品的预库存（采用从mysql数据库查出来缓存到redis）
    void initPreCountInRedis(Integer time, Long seckillId);
    //秒杀商品真实库存+1
    void incrStackCount(Long seckillId);
}
